package fangpian.leecode

/* 665. 非递减数列 [中等]

知识点：数组

给你一个长度为 n 的整数数组 nums ，请你判断在 最多 改变 1 个元素的情况下，该数组能否变成一个非递减数列。
*/
fun main() {
    // 补充完整
    fun checkPossibility(nums: IntArray): Boolean {
        var count = 0
        for (i in 0..nums.size - 2) {
            if (nums[i] > nums[i + 1]) {
                count++
                if (count > 1)
                    return false
                if (i > 0 &&  nums[i + 1] < nums[i - 1]) {
                    nums[i + 1] =  nums[i];
                }
            }
        }
        return true
    }

    println(checkPossibility(intArrayOf(4, 2, 3)))
    println(!checkPossibility(intArrayOf(4, 2, 1)))
    println(!checkPossibility(intArrayOf(3, 4, 2, 3)))
    println(checkPossibility(intArrayOf(-1,4,2,3)))
}